|
|
Main menu for Browse IS/STAG
Course info
KIV / ZOS-E
:
Course description
Department/Unit / Abbreviation
|
KIV
/
ZOS-E
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Fundamentals of Operating Systems
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
Czech
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
0 / -
|
3 / 25
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
No
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
N/A
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
N/A
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
The goal of the course is to give the students knowledge of basic principles of operating systems.
|
Requirements on student
|
To pass tests and work out seminar work.
|
Content
|
1. Introduction, history, architecture and components of OS
2. Process, implementation of a process, constructions to create processes
3. Critical section issues, spin-lock, semaphores, cooperation of processes
4. Implementation of semaphores. Monitors and their implementation
5. Messages, RPC. Common problem of IPC: Dining philosophers.
6. Process scheduling -- general, batch systems.
7. Process scheduling -- interactive systems. Deadlock.
8. Detection and recovery, prevention. Main memory management, basic mechanisms.
9. Virtual memory
10.Management of I/O
11.File systems.
12.Security in OS
13.Case studies -- UNIX (Linux), MS Windows (7, Vista, XP).
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Tatenbaum, A. Modern Operating system. Pearson Prentice Hall, 2008. ISBN 9780136006633.
-
Basic:
Tatenbaum, A.; Woodhull, A. Operating systems: design and implementation. Pearson Education International, 2009. ISBN 9780135053768.
-
Basic:
Stallings, W. Operating systems: Internals and Design Principles. Limited. Pearson Educetion, 2011. ISBN 9780132309981.
-
Recommended:
Dráb, M. Jádro systému Windows, Kompletní průvodce programátora. Computer Press, 2011. ISBN 9788025127315.
-
Recommended:
Snyder, G.; Nemeth, E. Linux, Kompletní příručka administrátora. Computer Press, 2008. ISBN 9788025124109.
-
Recommended:
Stones, R.; Matthew, N. Linux, Začínáme programovat. Computer Press, 2008. ISBN 9788025119334.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Individual project (40)
|
40
|
Preparation for an examination (30-60)
|
36
|
Preparation for formative assessments (2-20)
|
15
|
Contact hours
|
65
|
Total
|
156
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
Use the basics of application programming in the C or Java programming language |
Understand the basic concepts of software development (program, process, file, thread) |
Use basic data structures (queue, stack, hash table) |
Characterize the basic components and architectures of a computing system |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
Know MS Windows or GNU/Linux operating system |
Use basic system tools to manage and inform about processes and system resources |
Create an application in the selected programming language and test the application |
Detect basic problems when the software is running |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
Analyze the basic requirements for an operating system |
Describe the basic services provided by the operating system |
Describe the basic modules of the operating system |
Describe and illustrate the basic problems of concurrency and critical sections of parallel processes and threads |
Explain the basic protection mechanisms used in operating systems |
Compare different approaches to implementing operating system services |
Skills - skills resulting from the course: |
Create a simple multi-process or multi-threaded application |
Design an efficient method of treating synchronization and treating a critical section in the program code |
Use basic commands and create command scripts under GNU/Linux OS |
Analyze and graphically represent the processing flow of a multiprocess application |
Determine the appropriate RAID storage type for your specific data storage needs |
Competences - competences resulting from the course: |
N/A |
N/A |
N/A |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Written exam |
Skills - skills achieved by taking this course are verified by the following means: |
Seminar work |
Competences - competence achieved by taking this course are verified by the following means: |
Written exam |
Seminar work |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture supplemented with a discussion |
Individual study |
Seminar classes |
Skills - the following training methods are used to achieve the required skills: |
Practicum |
Competences - the following training methods are used to achieve the required competences: |
Lecture |
Practicum |
Seminar classes |
|
|
|
|